!еһ򵥵Ķάӷ, ANSYSԪ-ṹϷܽ 
!кӹ̷, 㺸ӹе¶ȷֲӦֲԼȴĺӦ 
finish
/clear
/filn,E83
/title,Weld Analysis 
/prep7 
/unit,si ! ùʵλ 
et,1,13,4        !13ŶάϵԪ, ͬʱ¶Ⱥλɶ 
et,2,13,4 
! 1ŲǸ  2Ų  3Ųͭ 
! Ǳηеĺ, ֽṹֺͭṹֺ 
! ڼ¶ȵ, ϵĵģ 
mptemp,1,20,500,1000,1500,2000 
mpdata,ex,1,1,1.93e11,1.50e11,0.70e11,0.10e11,0.01e11 
mpdata,ex,2,1,1.02e11,0.50e11,0.08e11,0.001e11,0.0001e11 
mpdata,ex,3,1,1.17e11,0.90e11,0.30e11,0.05e11,0.005e11 
! ɱ(Ϊֵ) 
mpdata,nuxy,1,1,0.29,0.29,0.29,0.29,0.29
mpdata,nuxy,2,1,0.3,0.3,0.3,0.3,0.3
mpdata,nuxy,3,1,0.3,0.3,0.3,0.3,0.3
! ܶ(Ϊֵ) 
mpdata,dens,1,1,8030,8030,8030,8030,8030
mpdata,dens,2,1,4850,4850,4850,4850,4850
mpdata,dens,3,1,8900,8900,8900,8900,8900
! ϵ(Ϊֵ) 
mpdata,alpx,1,1,1.78e-5,1.78e-5,1.78e-5,1.78e-5,1.78e-5
mpdata,alpx,2,1,9.36e-6,9.36e-6,9.36e-6,9.36e-6,9.36e-6
mpdata,alpx,3,1,1.66e-5,1.66e-5,1.66e-5,1.66e-5,1.66e-5
! ȴϵ(Ϊֵ) 
mpdata,kxx,1,1,16.3,16.3,16.3,16.3,16.3
mpdata,kxx,2,1,7.44,7.44,7.44,7.44,7.44
mpdata,kxx,3,1,393,393,393,393,393
! (Ϊֵ) 
mpdata,c,1,1,502,502,502,502,502
mpdata,c,2,1,544,544,544,544,544 
mpdata,c,3,1,385,385,385,385,385
! ڸ13ŵԪдɶ, ˴һ, ӰĵĽ 
mpdata,murx,1,1,1,1,1,1,1
mpdata,murx,2,1,1,1,1,1,1
mpdata,murx,3,1,1,1,1,1,1
! 躸()ȥĳʼ¶1500 
mp,reft,1,20 
mp,reft,2,1500 
mp,reft,3,20 
! ϶˫涯ӲԱϵ 
! ֲڸ¶ȵµӦĵģ 
tb,bkin,1,5 
tbtemp,20,1 
tbdata,1,1200e6,0.193e11 
tbtemp,500,2 
tbdata,1, 933e6,0.150e11 
tbtemp,1000,3 
tbdata,1, 435e6,0.070e11 
tbtemp,1500,4 
tbdata,1, 70e6,0.010e11 
tbtemp,2000,5 
tbdata,1, 7e6,0.001e11 
! ͭڸ¶ȵµӦĵģ 
tb,bkin,2,5 
tbtemp,20,1 
tbdata,1,800e6,0.102e11 
tbtemp,500,2 
tbdata,1,400e6,0.050e11 
tbtemp,1000,3 
tbdata,1, 70e6,0.008e11 
tbtemp,1500,4 
tbdata,1, 1e6,0.0001e11 
tbtemp,2000,5 
tbdata,1,0.1e6,0.00001e11 
! ڸ¶ȵµӦĵģ 
tb,bkin,3,5 
tbtemp,20,1 
tbdata,1,900e6,0.117e11 
tbtemp,500,2 
tbdata,1,700e6,0.090e11 
tbtemp,1000,3 
tbdata,1,230e6,0.030e11 
tbtemp,1500,4 
tbdata,1, 40e6,0.005e11 
tbtemp,2000,5 
tbdata,1, 4e6,0.0005e11 
! ģ 
k,1,0,0,0 
k,2,0.5,0,0 
k,3,1,0,0 
k,4,0,0.26,0 
k,5,0.35,0.26,0 
k,6,0.65,0.26,0 
k,7,1,0.26,0 
k,8,0.5,0.300167
LARC,5,6,8               !ɻ
a,1,2,5,4                !ɹؼ1254
a,2,3,7,6                !ɹؼ2367
al,1,3,9                 !߶139
! ֵԪ 
MSHKEY,1                 !ӳ񻮷
esize,0.025              !õԪߴ
type,2                   !ָԪ2
mat,2                    !ָ2
amesh,3                  !2
esize,0.05               !õԪߴ
type,1                   !ָԪ1
mat,1                    !ָ1 
amesh,1                  !1 
mat,3                    !ָ3  
amesh,2                  !3 
!ʩԼغ
/solu 
antype,4                 !趨Ϊ˲̬ 
nsel,s,loc,x,0 
d,all,ux,0               !ģ͵߽λԼ 
nsel,r,loc,y,0
d,all,uy,0               !ģ͵ŵʩyԼ

! ģ͵ұ߽紦¶ʼձ20, ߽ȶʩӣ˴ֻʩӺ±߽ 
nsel,all 
nsel,s,loc,x,0 
nsel,r,loc,x,1
d,all,temp,20 

esel,all                            !ѡеԪ
*get,emax,elem,,num,max             !ȡԪ
asel,s,area,,3                      !ѡΪ3
esla                                !ѡ3ĵԪ
*get,nse,elem,,count                !õԪĸ

*dim,ne,,nse                        !ne飬ڼ¼еԪ
*dim,nex,,nse                       !nex飬ڼ¼ϵx
*dim,ney,,nse                       !ney飬ڼ¼ϵy
*dim,neorder,,nse                   !嵥Ԫ飨ռλУ
mine=0                              !ֵԼ¼ѭÿѡеĵԪ

!*************************************************************
! DOѭڽĵԪYԱģ⺸""Ĺ 
*do,i1,1,nse 

esel,u,elem,,mine                   !ųղѾ¼ĵԪ
*get,nse1,elem,,count               !õʣ൥Ԫ
ii=0 

*do,i,1,emax 
*if,esel(i),eq,1,then 
ii=ii+1 
ne(ii)=i 
*endif 
*enddo 

!ȡϵx,yֱ꣬洢nex,ney
*do,i,1,nse1 
*get,ney(i),elem,ne(i),cent,y 
*get,nex(i),elem,ne(i),cent,x 
*enddo 
miny=1e20                    !趨޴ֵжϱȽ
minx=1e20 
!ѭУѡԪy꡴minyͽminxminymine
!yһ£xСÿҵСģ¼䵥Ԫ
*do,i,1,nse1 
*if,ney(i),lt,miny,then 
miny=ney(i) 
minx=nex(i) 
mine=ne(i) 
*else 
*if,ney(i),eq,miny,then 
*if,nex(i),lt,minx,then 
miny=ney(i) 
minx=nex(i) 
mine=ne(i) 
*endif 
*endif 
*endif 
*enddo 
neorder(i1)=mine 
*enddo 
!*status,neorder
!*********************************************************** 

max_tem=1500          ! ǰ裬ϵĳʼ¶Ϊ1500 
dt1=1e-3              ! ڽʼһСʱ 
dt=5                  ! һԪʱ 
t=0                   ! ʼʱ 
esel,all 
/eplot 

! ڵ3ǺˣȽĵԪ"ɱ" 
*do,i,1,nse 
ekill,neorder(i)      !ѭɱԪ
esel,s,live           !ѡԪ
*enddo 

allsel,all           
outres,all,all        !趨ѡ
ic,all,temp,20        !ʩӳʼ¶ֵ20
kbc,1                 !趨غʽΪstepped
timint,0,struct       !ʱ䲽ѡ
timint,1,therm 
timint,0,mag 
tintp,0.005,,,1,0.5,0.2 
nsub1=2               !趨Ӳ1
nsub2=40              !趨Ӳ2

*do,i,1,nse 
ealive,neorder(i) 
esel,s,live 
esel,all 
! ڽ¶ȵĳʼ 
t=t+dt1 
time,t 
nsubst,1 
!Ԫĸڵ¶Լ
*do,j,1,4 
d,nelem(neorder(i),j),temp,max_tem       !nelem(ENUM,NPOS)صԪENUMNPOSλõĽڵ
*enddo 
solve 
! ڱ֤ʼٶΪ 
t=t+dt1 
time,t 
solve 
! Ĳ¶ȷֲ 
*do,j,1,4 
ddele,nelem(neorder(i),j),temp 
*enddo 

t=t+dt-2*dt1 
time,t 
nsubst,nsub1 
solve 
*enddo 

t=t+50000 
time,t 
nsubst,nsub2 
solve 
finish 

/post1 
set,last                             !ȡһ
PLNSOL, TEMP,, 0,1.0                 !鿴γɵ¶ȳ
PLNSOL, S,EQV, 2,1.0                 !鿴Ӧ

! һϵӦĶļ 
/seg,dele 
/cont,1,15,0,1200e6/16,1200e6 
/dscale,1,1.0 
avprin,0,0 
avres,1 
/seg,multi,stress,0.1 
esel,all 
*do,i,1,nse 
esel,u,elem,,neorder(i) 
*enddo 
*do,i,1,nse 
esel,a,elem,,neorder(i) 
set,(i-1)*3+1,1 
plnsol,s,eqv 
*do,j,1,nsub1 
set,(i-1)*3+3,j 
plnsol,s,eqv 
*enddo 
*enddo 
*do,i,1,nsub2 
set,(nse-1)*3+4,i 
plnsol,s,eqv 
*enddo 
/seg,off,stress,0.1 
/anfile,save,stress,avi 

! һϵ¶ȵĶļ 

/seg,dele 
/cont,1,15,0,1500/16,1500 
/dscale,1,1.0 
avprin,0,0 
avres,1 
/seg,multi,temp,0.1 
esel,all 
*do,i,1,nse 
esel,u,elem,,neorder(i) 
*enddo 
*do,i,1,nse 
esel,a,elem,,neorder(i) 
set,(i-1)*3+1,1 
plnsol,temp 
*do,j,1,nsub1 
set,(i-1)*3+3,j 
plnsol,temp 
*enddo 
*enddo 
*do,i,1,nsub2 
set,(nse-1)*3+4,i 
plnsol,temp 
*enddo 
/seg,off,temp,0.1 
/anfile,save,temp,avi 

finish 
